The World Wide Web (“Web”) provides a wealth of information and services to people around the world. The ability to discover information from around the globe often requires no more than a click of a mouse. At the same time, the Web is best suited for use by people. For example, tasks such as finding a specific translation of a word, searching for the lowest price for an item, or making reservations at a restaurant or with an airline are often difficult for a machine to accomplish without human assistance.
As a result, work is being done to make the Web more understandable. The Semantic Web, for example, tries to provide a framework to make the Web more understandable to both humans and machines by defining the meaning of information and services available on the Web. The goal is to enable the understanding and satisfaction of requests from various sources. The Semantic Web aims to enable machines, for example, to perform some of the tasks that are performed by humans today.
Making the Web more understandable has many applications that include data integration, data classification, searching, content rating, data description, or the like. In order for these applications to come to fruition, however, it is necessary to identify the meaning or semantics of data and/or services on the Web.
In the Semantic Web, a semantic search enables users to represent their search more accurately than in traditional keyword search techniques. The results of the semantic search should be more accurate and relevant. The ability to conduct more meaningful searches is very attractive. Unfortunately, semantic searches (and other applications of the Semantic Web) are hindered by the size of the data sets being searched. As a result, the ability to scale a semantic search or other semantic applications to large data sets is a significant problem.
For example, the process of performing a semantic search is often achieved by reducing the semantic search to a set of consistency checking problems. Unfortunately, performing a consistency check on millions, if not billions of individuals, effectively makes the scalability issue intractable. In other words, performing the set of consistency checking problems on each individual is time consuming and unsatisfactory, particularly as the size of the data set being used becomes large.